package com.dm.library.widgets.element;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.widget.TextView;

import com.dm.library.R;
import com.dm.library.utils.StringUtils;

import java.util.Locale;

/**
 * 版 权: 深圳市迪蒙网络科技有限公司
 * 描 述: <自定义textview>
 * 修 改 人: fengye
 * 修改时间: 2016/12/8
 */

public class DTextView extends TextView implements JudgeNull {

    private Context context;

    public DTextView(Context context) {
        this(context, null);
    }

    public DTextView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public DTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        this.context = context;
    }

    /**
     * 检查内容是否为空
     *
     * @param hint
     * @return
     */
    @Override
    public boolean checkNull(String hint) {
        String s = getText().toString();
        if (StringUtils.isEmptyOrNull(s)) {
            return true;
        } else {
            return false;
        }
    }

    /**
     * 获取内容,规避了null
     *
     * @return
     */
    public String getContent() {
        String s = getText().toString();
        if (!TextUtils.isEmpty(s)) {
            return s.trim();
        } else {
            return "";
        }
    }

    /**
     * 处理了传入为null的情况
     */
    public void setTextContent(String s) {
        if (!StringUtils.isEmptyOrNull(s)) {
            setText(s);
        } else {
            setText("");
        }
    }

    /**
     * 处理了传入为资源文件的情况
     */
    public void setTextContent(int resId) {
        String text = getResources().getString(resId);
        if (!StringUtils.isEmptyOrNull(text)) {
            setText(text);
        } else {
            setText(String.valueOf(resId));
        }
    }


    /**
     * 处理了传入为null的情况
     */
    public void setTextContent(Double d) {
        if (!StringUtils.isEmptyOrNull(d + "")) {
            setText(String.format(Locale.CHINA, "%.2f", d));
        } else {
            setText("");
        }
    }



    /**
     * 处理了传入为null的情况
     */
    public void setTextContent(float f) {
        if (!StringUtils.isEmptyOrNull(f + "")) {
            setText(String.format(Locale.CHINA, "%.2f", f));
        } else {
            setText("");
        }
    }

    /**
     * 处理了传入为null的情况
     */
    public void setTextContent(CharSequence c) {
        if (!StringUtils.isEmptyOrNull(c + "")) {
            setText(c);
        } else {
            setText("");
        }
    }


    /**
     * 设置有单位的文字
     */
    public void setTextContent(Double d, String unit) {
        if (!StringUtils.isEmptyOrNull(d + "")) {
            setText(String.format("%s%s", String.format(Locale.CHINA, "%.2f", d), unit));
        } else {
            setText("0.00");
        }
    }


    /**
     * 设置有单位的文字
     */
    public void setTextContent(String content, String unit) {
        if (!StringUtils.isEmptyOrNull(content)) {
            setText(String.format("%s%s", content, unit));
        } else {
            setText("");
        }
    }


    /**
     * 设置背景等级
     *
     * @param level
     */
    public void setBgLevel(int level) {
        Drawable drawable = getBackground();
        if (drawable != null) {
            drawable.setLevel(level);
        }
//        requestLayout();
    }

}
